# shape     数组的形状（各个维度数量），对于矩阵，指的是m行, n列， 返回元组类型
# ndim      数组的维度，一维数组返回1， 二维数组返回2
# size      数组里面元素的数量dtype数组元素的数据类型， 如int64,  float64
# itemsize  每个数组元素的所占的存储空间的字节数， 如：8

import numpy as np

a = np.arange(36) ** 2
a = a.reshape(6,6)
print(a)


print('每一列的和', a.sum(axis=0))
print('每一行的和', a.sum(axis=1))
print('每一列的最小值', a.min(axis=0))
print('每一行的最小值', a.min(axis=1))
print('每一列的最大值', a.max(axis=0))
print('每一行的最大值', a.max(axis=1))
print('每一列的平均值', a.mean(axis=0))
print('每一行的平均值', a.mean(axis=1))

print(a[2:5,1:5])

b = np.hsplit(a, (2, 3))
print(b)

# A(4, 1, 2)    B(1, 3, 1)  # 可广播
# A(4, 3, 2)    B(3,2)      # 可广播
# A(4, 3, 2)    B(2,)       # 可广播
# A(4, 3, 2)    B(4, 3)     # 不可广播
# A(4, 3, 2)    B(2, 3, 2)  # 不可广播